<!--
  This file is a part of the open-eBackup project.
  This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
  If a copy of the MPL was not distributed with this file, You can obtain one at
  http://mozilla.org/MPL/2.0/.
  
  Copyright (c) [2024] Huawei Technologies Co.,Ltd.
  
  THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
  EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
  MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
  -->

<div class="aui-operation" *ngIf="!isSummary">
    <lv-group>
        <lv-pro-button-group [config]="optsConfig" [bindData]="selectionData" [maxDisplayItems]="maxDisplayItems">
        </lv-pro-button-group>
    </lv-group>
    <lv-group [lvGutter]="groupCommon.middleRowGutter">
        <lv-search [lvFocus]="true" [(ngModel)]="name" (lvSearch)="search()"
            lvPlaceHolder="{{'common_search_type_label'|i18n:['']}}">
        </lv-search>
        <button class="aui-button-icon" lv-button lvSize="auto" (click)="dataTable.fetchData()">
            <i lv-icon="lv-icon-refresh" [lvColorState]="true"></i>
        </button>
    </lv-group>
</div>
<div class="list-container">
    <lv-pro-table #dataTable [config]="tableConfig" [data]="tableData"></lv-pro-table>
</div>

<ng-template #slaComplianceExtraTpl>
    <div class="custom-icon">
        <aui-sla-compliance-tooltip></aui-sla-compliance-tooltip>
    </div>
</ng-template>
<ng-template #groupTipTpl>
    <i lv-icon="aui-icon-help" lv-tooltip="{{groupTipLabel}}"  class="operation-help-icon"
        lvColorState='true'></i>
</ng-template>

<ng-template #hypervStatusTpl let-item>
    <aui-status [value]="item.extendInfo?.State" type="hypervStatus"></aui-status>
</ng-template>


<ng-template #nutanixStatusTpl let-item>
    <aui-status [value]="item.extendInfo?.status"
        [type]="subType === dataMap.Resource_Type.nutanixHost.value ? 'nutanixHostStatus' : 'nutanixVmStatus'"></aui-status>
</ng-template>

<ng-template #rhvVersionTpl let-item>
    <span lv-overflow>{{item.extendInfo?.version || item.extendInfo?.Version | nil}}</span>
</ng-template>

<ng-template #resourceTagTpl let-item>
    <ng-container *ngIf="item?.labelList?.length; else emptyTpl">
        <lv-tag [ngModel]="item?.showLabelList" [lv-tooltip]="TagTpl"></lv-tag>
        <ng-template #TagTpl>
            <lv-tag [ngModel]="item?.hoverLabelList"></lv-tag>
        </ng-template>
    </ng-container>
</ng-template>

<ng-template #cnwareTagTpl let-item>
    <ng-container *ngIf="item.allTags?.length; else emptyTpl">
        <lv-tag [ngModel]="item.showTagList" [lvExtraContent]="extTpl"
            lvMaxWidth="{{item.allTags.length > 1 ? 100 : 140}}"></lv-tag>
        <ng-template #extTpl>
            <lv-tag [ngModel]="item.tagNumList" [lvTagTemplate]="customTpl"></lv-tag>
            <ng-template #customTpl let-tag>
                <span lv-overflow [lv-tooltip]="allTagTpl" class="aui-link" lvTooltipPosition="right"
                    lvTooltipTrigger="click" lvTooltipClassName="cnware-tag-tip">
                    {{tag.label}}
                </span>
            </ng-template>
        </ng-template>
        <ng-template #allTagTpl>
            <lv-tag [ngModel]="item.allTags"></lv-tag>
        </ng-template>
    </ng-container>
</ng-template>

<ng-template #emptyTpl>
    --
</ng-template>

<ng-template #userHelpTpl>
    <i lv-icon="aui-icon-help" lv-tooltip="{{'common_owned_user_help_label' | i18n}}"
        class="custom-icon" lvColorState='true'></i>
</ng-template>
